死锁的避免——银行家算法




     银行家把一定数量的资金供多个用户周转使用。当顾客对资金的最大申请量不超过银行家现金时,就可接纳一个新顾客;顾客能够分期借款;但借款总数不能超过最大申请量;银行家对顾客的借款能够推迟支付,但一定是顾客总能在有限的时间里得到借款;当顾客得到所有资金后,他一定能在有限时间里面归还所有资金。

 

     採用银行家算法分配资源时候,測试进程对资源的最大需求量,假设系统现存的资源能够满足他的最大需求量时,就满足进程当前的申请,否则就推迟分配。这样做,能保证至少有一个进程可得到须要的所有资源而运行到结束,然后归还资源供别的进程使用。假设操作系统能保证所有的进程在有限事件爱你内得到须要的所有资源,则称系统是安全的,否则就说系统是不安全的。不安全状态可能引起死锁。银行家算法是在能确保系统处于安全状态时才把资源分配给申请者。


posted @ 2015-03-01 11:03  zfyouxi  阅读(414)  评论(0编辑  收藏  举报